package com.xulu.romance.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xulu.romance.pojo.Article;
import com.xulu.romance.vo.ArchiveArticleVo;
import com.xulu.romance.vo.ArticleVo;
import com.xulu.romance.vo.QuestionVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @version 1.0
 * @Author xiaoxulu
 * @Date 2024/1/13 21:50
 */

@Mapper
public interface ArticleDao extends BaseMapper<Article> {
    /**
     * 查询数量
     * @return
     */
    Integer findArticleDetailCount();

    /**
     * 分页查询文章详情
     * @param currentPage
     * @param size
     * @return
     */
    List<ArticleVo> findArticleDetail(@Param("currentPage") Integer currentPage, @Param("size") Integer size);

    /**
     * 分页条件查询文章详情
     * @param currentPage
     * @param size
     * @return
     */
    List<ArticleVo> findArticleDetailCondition(@Param("currentPage") Integer currentPage, @Param("size") Integer size, @Param("key")String key);

    /**
     * 查询所有
     */
    List<ArticleVo> findAll();
    /**
     * 根据id查询详情
     */
    ArticleVo findArticleDetailById(@Param("id")Integer id);
    /**
     * 根据标签id查询
     */
    List<ArticleVo> findArticleByTag(@Param("currentPage") Integer currentPage,
                                       @Param("size") Integer size,
                                       @Param("tagId")Integer tagId);
    /**
     * 查询类型条件数量
     */
    Integer findArticleByTagCount( @Param("tagId")Integer tagId);

    /**
     * 查询文章归档
     */
    List<ArchiveArticleVo> findArchiveArticleList(@Param("currentPage") Integer currentPage,
                                                  @Param("size") Integer size);

}
